package cn.fl.ref.fncprjbscinfo.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import fl.ref.fncprjbscinfo.dto.FncPrjPayPlanDTO;
import cn.fl.ref.fncprjbscinfo.vo.FncPrjPayPlanVO;

/**
 * 服务层与展现层转换类
 * 所有的PO只能在持久成和服务层使用
 * 所有的DTO只能在展现层和服务层使用
 * 在服务层中向下是DTO转PO,向上是PO转DTO
 */
public class FncPrjPayPlanVOTransform {

	/**
	 * VO 转  DTO
	 * @param po
	 * @return
	 */
	public static FncPrjPayPlanDTO toDTO(FncPrjPayPlanVO vo) {
		FncPrjPayPlanDTO  dto = null;
		if (vo != null) { 
			dto = new FncPrjPayPlanDTO();
			dto.setId(vo.getId());
			
            dto.setCapital(vo.getCapital());  
   
            dto.setInterest(vo.getInterest());  
   
            dto.setOtherChar(vo.getOtherChar());  
   
            dto.setOverColl(vo.getOverColl());  
   
            dto.setLineNum(vo.getLineNum());  
   
            dto.setPdMun(vo.getPdMun());  
   
            dto.setReCapital(vo.getReCapital());  
   
            dto.setProjId(vo.getProjId());  
   
            dto.setIsDel(vo.getIsDel());  
   
            dto.setCrtTm(vo.getCrtTm());  
   
            dto.setCrtUsrId(vo.getCrtUsrId());  
   
            dto.setMdfTm(vo.getMdfTm());  
   
            dto.setMdfUsrId(vo.getMdfUsrId());  
   
            dto.setRmrk(vo.getRmrk());  
   
            dto.setImputDate(vo.getImputDate());  
   
            dto.setRepayDate(vo.getRepayDate());  
   
            dto.setRental(vo.getRental());  
   
            dto.setScmChegId(vo.getScmChegId());
            
            dto.setCostNm(vo.getCostNm());
            
            dto.setCostPct(vo.getCostPct());
            
            dto.setPlLv(vo.getPlLv());
            dto.setReReturnTm(vo.getReReturnTm());
		}
		return dto;
	}

	/**
	 * DTO 转  PO
	 * @param dto
	 * @return
	 */
	public static FncPrjPayPlanVO toVO(FncPrjPayPlanDTO dto) {
		FncPrjPayPlanVO vo = null;
		if (dto != null) {
			vo = new FncPrjPayPlanVO();
			vo.setId(dto.getId());
            vo.setCapital(dto.getCapital());  
   
            vo.setInterest(dto.getInterest());  
   
            vo.setOtherChar(dto.getOtherChar());  
   
            vo.setOverColl(dto.getOverColl());  
   
            vo.setLineNum(dto.getLineNum());  
   
            vo.setPdMun(dto.getPdMun());  
   
            vo.setReCapital(dto.getReCapital());  
   
            vo.setProjId(dto.getProjId());  
   
            vo.setIsDel(dto.getIsDel());  
   
            vo.setCrtTm(dto.getCrtTm());  
   
            vo.setCrtUsrId(dto.getCrtUsrId());  
   
            vo.setMdfTm(dto.getMdfTm());  
   
            vo.setMdfUsrId(dto.getMdfUsrId());  
   
            vo.setRmrk(dto.getRmrk());  
   
            vo.setImputDate(dto.getImputDate());  
   
            vo.setRepayDate(dto.getRepayDate());  
   
            vo.setRental(dto.getRental());  
   
            vo.setScmChegId(dto.getScmChegId());
            
            vo.setCostNm(dto.getCostNm());
            
            vo.setCostPct(dto.getCostPct());
            
            vo.setPlLv(dto.getPlLv());
            vo.setReReturnTm(dto.getReReturnTm());
		}
		return vo;
	}
	
	/**
	 * PO集合 转 DTO集合
	 * @param list
	 * @return
	 */
	public static List<FncPrjPayPlanDTO> toDTOList(List<FncPrjPayPlanVO> list) {
		List<FncPrjPayPlanDTO>  voList = new ArrayList<FncPrjPayPlanDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (FncPrjPayPlanVO vo : list) {
				voList.add(toDTO(vo));
			}
		}
		return voList;
	}
	
	/**
	 * DTO集合 转 PO集合
	 * @param list
	 * @return
	 */
	public static List<FncPrjPayPlanVO> toVOList(List<FncPrjPayPlanDTO> list) {
		List<FncPrjPayPlanVO>  voList = new ArrayList<FncPrjPayPlanVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (FncPrjPayPlanDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
}
